今天的主題與Python較無關,這陣子遇到資料版本控制的需求,有搜尋並測試了一下geogig這個軟體,在此稍微紀錄一下。
geogig是個開源專案,使用JAVA開發並以BSD授權,主要目的是做GIS資料的版本控制,整個操作經驗與git類似,支援的GIS資料包含shapefile、PostGIS、SpatiaLite等,對每一次commit的GIS追蹤管理,也可對資料開分支、遠端分支等等功能。
今天就記錄一下比較基本的步驟。
Geogig官網有包好的package,前往官網下載
GeoGig by LocationTech
解壓縮到D:\後,把路徑加入系統環境變數中
我們測試一下,打開cmd
geogig

設定好路徑並有反應了,我們可以開始操作Geogig了
初始化一個repo,這邊的初始化跟git一樣:
geogig init

我們把rail.shp加入一個commit,在這之前要先用shp import
geogig shp import rail.shp -d rail

上面的import跟一般git比等於是多一步,import之後可以add,這個動作跟git add .一樣
geogig add

然後,就可以commit了,這邊的commit跟git也是一樣的
geogig commit -m "init"

這邊操作的時候跳了一個錯,因為第一次操作時,Geogig會要求輸入user config,跟git一樣,如果遇到就這步驟設定就好了
成功操作
我們進入QGIS給資料一些異動,
我們直接修改資料的屬性(修改數筆DEFINITION)
要再提供一次commit 要把shp import跟add 在操作一次
geogig shp import rail.shp -d rail

add,這邊可以看到一些異動資訊
geogig add

commit,然後第二個版本的資料就被記錄上去了
geogig commit -m "second round"

從上可以看到版本間的異動
接下來來看看repo與commit的資訊
觀看repo內容用ls
看到目前的repo中的資料集
geogig ls

log 看版本的歷史過程
geogig log

Geogig在QGIS與Geoserver有外掛可以使用,今天先以git的觀點進行基本操作,有興趣者可操作看看!